# 内置常量
print('False', False)
print('True', True)
print('None', None)
print('用于表示运算没有针对其他类型的实现：NotImplemented')
print(__debug__)
print('由 site 模块与添加的常量')

# 内置异常
# 所有异常必须为一个派生自 BaseException 的类的实例
'''
BaseException # 所有内置异常类的基类
 +-- SystemExit # 由 sys.exit() 函数引发
 +-- KeyboardInterrupt # 用户按下中断键时引发的异常
 +-- GeneratorExit # 当一个 generator 或 coroutine 被关闭时将被引发
 +-- Exception # 所有内置的非系统退出类异常都派生自此类，用户自定义异常英拍还是派生自此类
      +-- StopIteration # 用来表示该迭代器不能产生下一项
      +-- StopAsyncIteration # 由一个 asynchronous iterator 对象的 __anext__() 方法来引发
      +-- ArithmeticError # 用于派生针对各种算术类错误而引发的内置异常
      |    +-- FloatingPointError 
      |    +-- OverflowError # 当算术运算的结果大到无法表示时将被引发
      |    +-- ZeroDivisionError # 当除法或取余运算的第二个参数为零时将被引发
      +-- AssertionError # 断言失败异常类
      +-- AttributeError # 当属性引用或赋值失败时将被引发
      +-- BufferError # 当与 缓冲区 相关的操作无法执行时将被引发的异常
      +-- EOFError # 当 input() 函数未读取任何数据即达到文件结束条件 (EOF) 时将被引发
      +-- ImportError # 引入模块异常
      |    +-- ModuleNotFoundError # 模块无法被定位时引发的异常
      +-- LookupError # 用于派生当映射或序列所使用的键或索引无效时引发的异常
      |    +-- IndexError # 当序列抽取超出范围时将被引发
      |    +-- KeyError # 当在现有键集合中找不到指定的映射（字典）键时将被引发
      +-- MemoryError # 内存耗尽但情况可通过删除对象等进行挽救时被引发 
      +-- NameError # 当某个局部或全局名称未找到时将被引发
      |    +-- UnboundLocalError # 当在函数或方法中对某个局部变量进行引用，但该变量并未绑定任何值时将被引发
      +-- OSError # 在一个系统函数返回系统相关的错误时将被引发
      |    +-- BlockingIOError # 当一个操作会被某个设置为非阻塞操作的对象（例如套接字）所阻塞时将被引发
      |    +-- ChildProcessError # 当一个子进程上的操作失败时将被引发
      |    +-- ConnectionError # 与连接相关问题的基类
      |    |    +-- BrokenPipeError # 当试图写入另一端已被关闭的管道，或是试图写入已关闭写入的套接字时将被引发
      |    |    +-- ConnectionAbortedError # 当连接尝试被对端中止时将被引发
      |    |    +-- ConnectionRefusedError # 当连接尝试被对端拒绝时将被引发
      |    |    +-- ConnectionResetError # 当连接被对端重置时将被引发
      |    +-- FileExistsError # 试图创建已存在的文件或目录时引发的异常
      |    +-- FileNotFoundError # 文件/目录不存在异常
      |    +-- InterruptedError # 当系统调用被输入信号中断时将被引发
      |    +-- IsADirectoryError # 对目录执行文件操作 (例如 os.remove()) 时引发
      |    +-- NotADirectoryError # 当请求对一个非目录对象执行目录操作 (例如 os.listdir()) 时将被引发
      |    +-- PermissionError # 没有权限异常
      |    +-- ProcessLookupError # 给定的进程不存在异常
      |    +-- TimeoutError # 发生系统级超时
      +-- ReferenceError # 在使用 weakref.proxy() 函数所创建的弱引用来访问该引用的某个已被作为垃圾回收的属性时被引发
      +-- RuntimeError # 当检测到一个不归属于任何其他类别的错误时将被引发
      |    +-- NotImplementedError # 抽象类中的抽象方法在实现中没有被实现时被引发
      |    +-- RecursionError # 超过递归最大深度
      +-- SyntaxError # 当解析器遇到语法错误时引发
      |    +-- IndentationError # 与不正确的缩进相关的语法错误
      |         +-- TabError # 当缩进包含对制表符和空格符不一致的使用时将被引发
      +-- SystemError # 当解释器发现内部错误，但情况看起来尚未严重到要放弃所有希望时将被引发
      +-- TypeError # 当一个操作或函数被应用于类型不适当的对象时将被引发
      +-- ValueError # 当操作或函数接收到具有正确类型但值不适合的参数，并且情况不能用更精确的异常例如 IndexError 来描述时将被引发
      |    +-- UnicodeError # 当发生与 Unicode 相关的编码或解码错误时将被引发
      |         +-- UnicodeDecodeError # 当在解码过程中发生与 Unicode 相关的错误时将被引发
      |         +-- UnicodeEncodeError # 当在编码过程中发生与 Unicode 相关的错误时将被引发
      |         +-- UnicodeTranslateError # 在转写过程中发生与 Unicode 相关的错误时将被引发
      +-- Warning # 警告类别的基类
           +-- DeprecationWarning # 针对其他python开发者的
           +-- PendingDeprecationWarning # 对于已过时并预计在未来弃用，但目前尚未弃用的特性相关警告的基类
           +-- RuntimeWarning # 与模糊的运行时行为相关的警告的基类
           +-- SyntaxWarning # 与模糊的语法相关的警告的基类
           +-- UserWarning # 用户代码所产生的警告的基类
           +-- FutureWarning # 针对以python所编写应用的最终用户的基类
           +-- ImportWarning # 模块导入中可能的错误相关的警告基类
           +-- UnicodeWarning # 与unicode相关的警告基类
           +-- BytesWarning # 与bytes和bytearray相关的警告基类
           +-- ResourceWarning # 资源使用相关警告基类
'''

# 字符串常量
import string

print('大写字母和小写字母合集：string.ascii_letters\n结果为：', string.ascii_letters, '\n')
print('小写字母合集：string.ascii_lowercase\n结果为：', string.ascii_lowercase, '\n')
print('大写字母合集：string.ascii_uppercase\n结果为：', string.ascii_uppercase, '\n')
print('0-9：string.digits\n结果为：', string.digits, '\n')
print('0-F：string.hexdigits\n结果为：', string.hexdigits, '\n')
print('0-7：string.octdigits\n结果为：', string.octdigits, '\n')
print('标点符号：string.punctuation\n结果为：', string.punctuation, '\n')
print('可打印字符串：string.printable\n结果为：', string.printable, '\n')
print('空白字符，包括空格、制表符、换行、回车、纵向制表符等：string.whitespace\n结果为：', string.whitespace, '\n')




